namespace ext.grid
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// PivotAxis is a class that supports a {@link Ext.grid.PivotGrid}. Each PivotGrid contains two PivotAxis instances - the left
	/// axis and the top axis. Each PivotAxis defines an ordered set of dimensions, each of which should correspond to a field in a
	/// Store&apos;s Record (see {@link Ext.grid.PivotGrid} documentation for further explanation).  Developers should have little interaction with the PivotAxis instances directly as most of their management is performed by
	/// the PivotGrid. An exception is the dynamic reconfiguration of axes at run time - to achieve this we use PivotAxis&apos;s
	/// {@link #setDimensions} function and refresh the grid:  
	/// var pivotGrid = new Ext.grid.PivotGrid({
	/// //some PivotGrid config here
	/// });
	///
	/// //change the left axis dimensions
	/// pivotGrid.leftAxis.setDimensions([
	/// {
	/// dataIndex: &apos;person&apos;,
	/// direction: &apos;DESC&apos;,
	/// width : 100
	/// },
	/// {
	/// dataIndex: &apos;product&apos;,
	/// direction: &apos;ASC&apos;,
	/// width : 80
	/// }
	/// ]);
	///
	/// pivotGrid.view.refresh(true);
	/// 
	/// This clears the previous dimensions on the axis...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;PivotAxis is a class that supports a {@link Ext.grid.PivotGrid}. Each PivotGrid contains two PivotAxis instances - the left
	/// axis and the top axis. Each PivotAxis defines an ordered set of dimensions, each of which should correspond to a field in a
	/// Store&apos;s Record (see {@link Ext.grid.PivotGrid} documentation for further explanation).&lt;/p&gt;
	/// &lt;p&gt;Developers should have little interaction with the PivotAxis instances directly as most of their management is performed by
	/// the PivotGrid. An exception is the dynamic reconfiguration of axes at run time - to achieve this we use PivotAxis&apos;s
	/// {@link #setDimensions} function and refresh the grid:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// var pivotGrid = new Ext.grid.PivotGrid({
	/// //some PivotGrid config here
	/// });
	///
	/// //change the left axis dimensions
	/// pivotGrid.leftAxis.setDimensions([
	/// {
	/// dataIndex: &apos;person&apos;,
	/// direction: &apos;DESC&apos;,
	/// width : 100
	/// },
	/// {
	/// dataIndex: &apos;product&apos;,
	/// direction: &apos;ASC&apos;,
	/// width : 80
	/// }
	/// ]);
	///
	/// pivotGrid.view.refresh(true);
	/// &lt;/code&gt;&lt;/pre&gt;
	/// This clears the previous dimensions on the axis and redraws the grid with the new dimensions.
	/// </htmlSummary>
	/// <definedin>src\widgets\grid\PivotAxis.js</definedin>
	[ScriptName("PivotAxis")]
	[ScriptNamespace("Ext.grid")]
	[Imported()]
	public partial class PivotAxis : ext.Component
	{
		
		#region Constructors
		public PivotAxis(ext.grid.PivotAxis_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public PivotAxis()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>One of &apos;vertical&apos; or &apos;horizontal&apos;. Defaults to horizontal</summary>
		/// <definedin>src\widgets\grid\PivotAxis.js</definedin>
		[ScriptName("orientation")]
		public string Orientation;
		
		/// <summary>
		/// The width to render each row header that does not have a width specified via
		/// {@link #getRowGroupHeaders}. Defaults to 80.
		/// </summary>
		/// <definedin>src\widgets\grid\PivotAxis.js</definedin>
		[ScriptName("defaultHeaderWidth")]
		public System.Number DefaultHeaderWidth;
		
		/// <summary>
		/// The amount of padding used by each cell.
		/// TODO: From 4.x onwards this can be removed as it won&apos;t be needed. For now it is used to account for the differences between
		/// the content box and border box measurement models
		/// </summary>
		/// <definedin>src\widgets\grid\PivotAxis.js</definedin>
		[ScriptName("paddingWidth")]
		public System.Number PaddingWidth;
		#endregion
		
		#region Methods
		/// <summary>Updates the dimensions used by this axis</summary>
		/// <definedin>src\widgets\grid\PivotAxis.js</definedin>
		/// <param name="dimensions">The new dimensions</param>
		[ScriptName("setDimensions")]
		public void SetDimensions(System.Array dimensions)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
